Jak učit matematiku s programem Mathematica?


Miroslav Tichý
Střední škola aplikované kybernetiky
Hradec Králové
tichy@ssakhk.cz

Jaký software pro výuku matematiky?

CAS - Mathematica

dynamická geometrie - GeoGebra

tabulkový kalkulátor - Excel

Co může od použití programu Mathematica ve výuce očekávat učitel?

• snazší přípravu na výuku, vše má uloženo v počítači
• snazší výběr příkladů k řešení. Podpora programu Mathematica umožní řešit ve třídě i úlohy, které nevycházejí příliš hezky numericky. Žáci tak navíc uvidí, že ne vše v praxi vychází jako ve školské matematice (skoro) celočíselně
• jednodušší zadávání písemných prací, domácích úloh. Mathematica umožňuje generovat různé sady úloh stejné obtížnosti lišící se jen numericky. Zároveň pro snadnější kontrolu žákovských prací lze generovat i odpovídající sady řešení
• výrazně lepší grafický projev svůj i žáků. Mathematica umožňuje vytvářet grafy ve vysoké kvalitě, kreslit i více křivek, grafů funkcí najednou. Grafy lze používat jak ve 2 D, tak i ve 3 D
• Mathematica je systémem ve světě velmi rozšířeným. Proto lze na Internetu najít velké množství příkladů z matematiky všech úrovní s pomocí tohoto programu řešených.

Graf kubické fukce s parametrem

y=(x^3)+a x+4

Plot [(x^3)-10 x+4,{x,-8,8}]

Manipulate[Plot [(x^3)+a x+4,{x,-8,8},PlotRange ->{{-8,8},{-100,100}},AspectRatio ->1,AxesLabel->{x,y}],{a,-20,20}]

Problém s funkcí arccotg x

Při probírání cyklometrických funkcí v matematice jsme narazili na problém. Program Mathematica zobrazuje graf funkce y = arccotg x takto :

Plot[ArcCot[x],{x, -8,8},AspectRatio->Automatic,AxesLabel->{x,y}]

Doplníme do grafu asymptotu y = π :

Plot[{ArcCot[x],π},{x, -8,8},AspectRatio->Automatic,AxesLabel->{x,y}]

Je vidět, že Wolfram Mathematica na rozdíl od matematiky klasické používá u funkce cotg x jako definiční obor interval (-(π/2),(π/2)), což mění i inverzní funkci - arccotg x. Pro záporná x je proto potřeba posunout hodnoty o π v kladném směru osy y.

Moji žáci dostali za úkol předefinovat funkci arccotg x tak, aby odpovídala funkci běžně používané. Mnozí nejprve sestrojili její graf:

g1=Plot[ArcCot[x]+π,{x,-8,0},PlotRange->{{-8,8},{-6,6}}];

g2=Plot[ArcCot[x],{x,0,8}];

Show[g1,g2]

Tím však není vyřešen výpočet funkčních hodnot. Definujme funkci myArcCot x, která již bude podmínku "správné" arkuskotangenty splňovat. Využijeme přitom možnost definovat funkci “po částech”:

myArcCot[x_]:=Piecewise[{{π+ArcCot[x],x<0},{ArcCot[x],x≥0}}]

Plot[{myArcCot[x],π},{x, -8,8},AspectRatio->Automatic,AxesLabel->{x,y}]

Plot[{π,myArcCot[x]},{x, -8,8},AspectRatio->Automatic,AxesLabel->{x,y},Ticks->{Automatic,{0,(π/2),π}}]

Takto definovaná funkce počítá správně i funkční hodnoty :

myArcCot[1]
myArcCot[-(Sqrt[3])]

Funkce Cot x programu Mathematica umí počítat i více funkčních hodnot najednou, zadáme-li místo jednoho argumentu list čísel :

Cot[{-(π/4),(π/3)}]

To nově definovaná funkce zatím nezvládne :

myArcCot[{1,(1/(Sqrt[3]))}]

Doplňme její definici o atribut "Listable", který výše uvedenou možnost funkci dá

Attributes[myArcCot]

Attributes[myArcCot]=Listable

Attributes[myArcCot]

myArcCot[{-1,((Sqrt[3])/3)}]

Řešte rovnici (x^6)+(x^5)+(x^4)+(x^3)+(x^2)+x+1=0 v množině C.

V běžné matematice tuto rovnici umíme vyřešit, je to vlastně rovnice  (((x^7)-1)/(x-1))=0. Řešili bychom ji pak jako rovnici binomickou s tím, že kořen x=1 bychom z množiny řešení následně     vyloučili. V systému Mathematica můžeme danou rovnici řešit přímo.

rov=Solve[(x^6)+(x^5)+(x^4)+(x^3)+(x^2)+x+1==0,x]

Kořeny rovnice dále upravíme do obvyklého tvaru a graficky zobrazíme :

koreny=Table[{Re[x],Im[x]} /.rov[[i]],{i,1,6}]

gr3=ListPlot[koreny,AspectRatio->Automatic,PlotStyle->PointSize[0.03],PlotRange->{{-1.1,1.1},{-1.1,1.1}},AxesLabel->{x,y}]

gr4=Graphics[Circle[{0,0},Abs[koreny[[1,1]]+I*koreny[[1,2]]]]];

Show[gr3,gr4]

Řešte rovnici v R: ((x^3)/100)-x=x*sin x

f[x_]:=(x^3)/100-x;

g[x_]:=x*Sin[x];

Plot[{f[x],g[x]},{x,-10,10},PlotStyle->Thick]

FindRoot[f[x]==g[x],{x,-9}]

Všechny kořeny ve vykresleném intervalu :

FindRoot[f[x]==g[x],{x,#}] & /@ {-9,-7,-2,0,4,6,9}

Chyba!

Chyba!

Chyba!

Plot[{f[x],g[x]},{x,-10,10}]

Plot[{f[x],g[x]},{x,-2,-1}]

FindRoot[f[x]==g[x],{x,-1.4}]

Graf tangenty

Plot[Tan[x],{x,-4,6}]

popis1=Table[k*(π/4),{k,-4,8}];
popis2=Table[k*(π/6),{k,-6,12}];

Plot[Tan[x],{x,-π,2π},Ticks->{popis1,Automatic},ExclusionsStyle->Dashed,Exclusions->Cos[x]==0,AspectRatio->Automatic,PlotRange->{{-π,2π},{-4,4}},AxesLabel->{"x","y"}]

Děkuji za pozornost.